The listing 8 code uses a pair of mutually recursive methods for the actual analysis 清单8中的代码使用两个相互递推的方法进行实际的分析。
In particular, it cannot match mutually recursive methods, where each method calls the other 特别是,它不能匹配相互递归调用的方法,也就是每个方法都调用其他的方法。
You might enjoy the exercise of figuring out how to adjust the grammar hint : remember that productions are allowed to be mutually recursive 您可能会喜欢弄清如何调整语法的练习(提示:请记住允许各产品彼此递归)。
The tree-based approach used for jibx code generation ends up constructing methods in this depth-first order anyway, so the duplicate checks work as long as there are no cycles in the method call graphs mutually recursive methods jibx代码生成所使用的基于树的方法总能按照深度优先顺序构造方法;如果在方法调用图中没有循环(方法的相互调用),重复检查是有效的。